package com.ims.core.doc.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 统计表对象 t_in_deduction_stat
 *
 * @author IMS
 * @date 2024-12-11
 */
public class TInDeductionStat extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 统计表ID */
    @Excel(name = "统计表ID")
    private String statId;

    /** 客户ID */
    @Excel(name = "客户ID")
    private String custId;

    /** 客户公司代码 */
    private String siteCode;

    /** 客户公司 */
    @Excel(name = "客户公司")
    private String siteName;

    /** 税号 */
    @Excel(name = "税号")
    private String taxNo;

    /** 税款所属期 */
    @Excel(name = "税款所属期")
    private String period;

    /** 生成申请结果 */
    private String applyResultCode;

    /** 生成申请结果 */
    @Excel(name = "生成申请结果")
    private String applyResultName;

    /** 确认结果 */
    private String confirmResultCode;

    /** 确认结果 */
    @Excel(name = "确认结果")
    private String confirmResultName;

    /** 统计表状态 */
    private String statStatus;

    /** 统计表状态 */
    @Excel(name = "统计表状态")
    private String statStatusName;

    /** 统计表处理状态代码 */
    private String statFlowStatus;

    /** 统计表处理状态 */
    @Excel(name = "统计表处理状态")
    private String statFlowStatusName;

    /** 成功标志 */
    @Excel(name = "成功标志")
    private String success;

    /** 错误码 */
    @Excel(name = "错误码")
    private String code;

    /** 错误信息 */
    @Excel(name = "错误信息")
    private String message;

    /** 最近一次统计生成或取消申请(成功)的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近一次统计生成或取消申请(成功)的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastApplyTime;

    /** 结果ID */
    @Excel(name = "结果ID")
    private String resultId;

    /** 抵扣统计明细信息 */
    private List<TInDeductionStatEntry> tInDeductionStatEntryList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setStatId(String statId)
    {
        this.statId = statId;
    }

    public String getStatId()
    {
        return statId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setTaxNo(String taxNo)
    {
        this.taxNo = taxNo;
    }

    public String getTaxNo()
    {
        return taxNo;
    }
    public void setPeriod(String period)
    {
        this.period = period;
    }

    public String getPeriod()
    {
        return period;
    }
    public void setApplyResultCode(String applyResultCode)
    {
        this.applyResultCode = applyResultCode;
    }

    public String getApplyResultCode()
    {
        return applyResultCode;
    }
    public void setApplyResultName(String applyResultName)
    {
        this.applyResultName = applyResultName;
    }

    public String getApplyResultName()
    {
        return applyResultName;
    }
    public void setConfirmResultCode(String confirmResultCode)
    {
        this.confirmResultCode = confirmResultCode;
    }

    public String getConfirmResultCode()
    {
        return confirmResultCode;
    }
    public void setConfirmResultName(String confirmResultName)
    {
        this.confirmResultName = confirmResultName;
    }

    public String getConfirmResultName()
    {
        return confirmResultName;
    }
    public void setStatStatus(String statStatus)
    {
        this.statStatus = statStatus;
    }

    public String getStatStatus()
    {
        return statStatus;
    }
    public void setStatStatusName(String statStatusName)
    {
        this.statStatusName = statStatusName;
    }

    public String getStatStatusName()
    {
        return statStatusName;
    }
    public void setStatFlowStatus(String statFlowStatus)
    {
        this.statFlowStatus = statFlowStatus;
    }

    public String getStatFlowStatus()
    {
        return statFlowStatus;
    }
    public void setStatFlowStatusName(String statFlowStatusName)
    {
        this.statFlowStatusName = statFlowStatusName;
    }

    public String getStatFlowStatusName()
    {
        return statFlowStatusName;
    }
    public void setSuccess(String success)
    {
        this.success = success;
    }

    public String getSuccess()
    {
        return success;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setMessage(String message)
    {
        this.message = message;
    }

    public String getMessage()
    {
        return message;
    }
    public void setLastApplyTime(Date lastApplyTime)
    {
        this.lastApplyTime = lastApplyTime;
    }

    public Date getLastApplyTime()
    {
        return lastApplyTime;
    }
    public void setResultId(String resultId)
    {
        this.resultId = resultId;
    }

    public String getResultId()
    {
        return resultId;
    }

    public List<TInDeductionStatEntry> getTInDeductionStatEntryList()
    {
        return tInDeductionStatEntryList;
    }

    public void setTInDeductionStatEntryList(List<TInDeductionStatEntry> tInDeductionStatEntryList)
    {
        this.tInDeductionStatEntryList = tInDeductionStatEntryList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("statId", getStatId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("taxNo", getTaxNo())
            .append("period", getPeriod())
            .append("applyResultCode", getApplyResultCode())
            .append("applyResultName", getApplyResultName())
            .append("confirmResultCode", getConfirmResultCode())
            .append("confirmResultName", getConfirmResultName())
            .append("statStatus", getStatStatus())
            .append("statStatusName", getStatStatusName())
            .append("statFlowStatus", getStatFlowStatus())
            .append("statFlowStatusName", getStatFlowStatusName())
            .append("success", getSuccess())
            .append("code", getCode())
            .append("message", getMessage())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("lastApplyTime", getLastApplyTime())
            .append("resultId", getResultId())
            .append("tInDeductionStatEntryList", getTInDeductionStatEntryList())
            .toString();
    }
}
